package com.view;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
 *
 * @author admin
 */
public class PanelTambahPublikasi extends JPanel {

    private JLabel namaPerpus;
    private JLabel labelKodeKoleksi;
    private JTextField textKodePublikasi;
    private JLabel labelJudul;
    private JTextField textJudul;
    private JLabel labelPenulis;
    private JTextField textPenulis;
    private JLabel labelPenerbit;
    private JTextField textPenerbit;
    private JLabel labelTahun;
    private JTextField textTahun;
    private JButton tombolSimpan;
    private JButton tombolBatal;
    private JRadioButton radioBuku;
    private JRadioButton radioMajalah;

    public PanelTambahPublikasi() {

        setBackground(Color.cyan);
        // membuat label
        namaPerpus = new JLabel("Sergio Library");
        namaPerpus.setForeground(Color.blue);
        setSize(100, 20);
        namaPerpus.setBounds(100, 10, 100, 40);
        add(namaPerpus);

        //utk memilih salah satu pilihan radiobutton
        ButtonGroup b = new ButtonGroup();
        radioBuku = new JRadioButton("Buku");
        radioBuku.setBounds(50, 50, 100, 30);
        b.add(radioBuku);
        add(radioBuku);
        radioMajalah = new JRadioButton("Majalah");
        radioMajalah.setBounds(200, 50, 100, 30);
        b.add(radioMajalah);
        add(radioMajalah);

        labelKodeKoleksi = new JLabel("Kode");
        labelKodeKoleksi.setBounds(40, 100, 75, 30);
        textKodePublikasi = new JTextField(10);
        textKodePublikasi.setBounds(140, 100, 175, 25);
        add(labelKodeKoleksi);
        add(textKodePublikasi);

        labelJudul = new JLabel("Judul");
        labelJudul.setBounds(40, 130, 75, 30);
        textJudul = new JTextField(10);
        textJudul.setBounds(140, 130, 175, 25);
        add(labelJudul);
        add(textJudul);

        labelPenulis = new JLabel("Penulis");
        labelPenulis.setBounds(40, 160, 75, 30);
        textPenulis = new JTextField(10);
        textPenulis.setBounds(140, 160, 175, 25);
        add(labelPenulis);
        add(textPenulis);

        labelPenerbit = new JLabel("Penerbit");
        labelPenerbit.setBounds(40, 190, 75, 30);
        textPenerbit = new JTextField(10);
        textPenerbit.setBounds(140, 190, 175, 25);
        add(labelPenerbit);
        add(textPenerbit);

        labelTahun = new JLabel("Tahun");
        labelTahun.setBounds(40, 220, 75, 30);
        textTahun = new JTextField(10);
        textTahun.setBounds(140, 220, 175, 25);
        add(labelTahun);
        add(textTahun);

        tombolSimpan = new JButton("SIMPAN");
        tombolSimpan.setBounds(40, 270, 100, 30);
        add(tombolSimpan);
        tombolSimpan.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // cek apakah radio buttonnya sudah dipilih salah satu atau tidak
                if (radioBuku.isSelected() == true || radioMajalah.isSelected() == true) {
//                    cek apakah semua field sudah diisi
                    if (!textKodePublikasi.getText().equalsIgnoreCase("")
                            && !textJudul.getText().equalsIgnoreCase("")
                            && !textPenulis.getText().equalsIgnoreCase("")
                            && !textPenerbit.getText().equalsIgnoreCase("")
                            && !textTahun.getText().equalsIgnoreCase("")) {
                        if (cekNama(textPenulis.getText()) == true) {
                            if (cekTahun(textTahun.getText()) == true) {
                                JOptionPane.showMessageDialog(null, "" + textKodePublikasi.getText()
                                        + "\n" + textJudul.getText() + "\n"
                                        + textPenulis.getText() + "\n"
                                        + textPenerbit.getText() + "\n"
                                        + textTahun.getText() + "\n");
                            } else {
                                JOptionPane.showMessageDialog(null, "nama tidak boleh ada angka ");
                            }
                        } else {
                            JOptionPane.showMessageDialog(null, "nama tidak boleh ada angka ");
                        }
                    } else {
                        JOptionPane.showMessageDialog(null, "semua field harus terisi");
                    }
                } else {
                    JOptionPane.showMessageDialog(null, "Harus memilih salah satu button");
                }
            }
        });

        tombolBatal = new JButton("BATAL");
        tombolBatal.setBounds(200, 270, 100, 30);
        add(tombolBatal);
        tombolBatal.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

               System.exit(0);
            }
        });
        setLayout(null);
        setVisible(true);
    }

    public boolean cekNama(String nama) {
        String Angka = "[1-9]*";
        boolean hasil = false;
        for (int i = 0; i < nama.length(); i++) {
            char tex = nama.charAt(i);
            String cek = String.valueOf(tex);
            if (cek.matches(Angka)) {
                hasil = false;
                break;
            } else {
                hasil = true;
            }
        }
        return hasil;
    }

    public boolean cekTahun(String Tahun) {
        String Huruf = "[a-zA-Z]*";
        boolean hasil = false;
        for (int i = 0; i < Tahun.length(); i++) {
            char tex = Tahun.charAt(i);
            String cek = String.valueOf(tex);
            if (cek.matches(Huruf)) {
                JOptionPane.showMessageDialog(null, " Tahun tidak boleh huruf ");
                hasil = false;
                break;
            } else {
                hasil = true;
            }
        }
        return hasil;
    }
}
